﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lesson14_继承中过的构造函数
{
    //很重要
    //特点:当声明一个子类对象时
    //先执行父类构造函数
    //再执行子类构造函数
    //子类实例化时，默认调用父类的无参构造函数，如果父类的无参构造被顶掉，则会报错
    class Father

    {
        //public Father()
        //{

        //}
        public Father(int i )
        {
            Console.WriteLine("父类中的构造函数");
        }
    }
    class Son:Father
    {
    public Son(int i):base(i)
        {
            Console.WriteLine("Son的一个构造函数");
        } 
    public Son(int i ,string s):this(i)
        {
            Console.WriteLine("Son的两个构造函数");

        }
    }

    internal class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("继承中的构造函数");
            Son son = new Son(1,"name");

        }
    }
}
